// pages/mine/alter_info/alter_info.js
import Toast from "../../../miniprogram_npm/@vant/weapp/toast/toast"
import Dialog from "../../../miniprogram_npm/@vant/weapp/dialog/dialog"
const app = getApp()
const log = new app.appLogs()
const http = new app.appHttp()
Page({

  /**
   * 页面的初始数据
   */
  data: {
    theme: {},
    userInfo: null,
    nameShow: false,
    name: null,
    headImage: null,
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    wx.setNavigationBarTitle({
      title: "个人信息"
    })
    this.setData({
      theme: app.globalData.theme,
      userInfo: app.globalData.userInfo,
      name: app.globalData.userInfo.nickname
    })
  },

  /**
   * 获取头像
   * @param e
   */
  onHeadImage: function (e) {
    const _this = this
    wx.chooseImage({
      count: 1,
      success: res => {
        const file = res.tempFilePaths[0]
        http.upFile(file,"head").then(resFile => {
          if (resFile.code === http.REQUEST_OK) {
            http.post("applet/user/update-head",{
              head_img_url: resFile.data.url
            }).then(res2 => {
              if (res2.data.code === http.REQUEST_OK) {
                //更新成功，刷新数据
                app.getUserInfo(res => {
                  _this.setData({
                    userInfo: app.globalData.userInfo
                  })
                })
              }else {
                Dialog.alert({
                  title: "修改失败",
                  message: res2.data.msg
                }).then(() => {

                })
              }
            }, err => {
              Toast.fail("网络异常")
            })
          } else {
            // Toast.fail("头像上传失败")
            Dialog.alert({
              title: "头像上传失败",
              message: res.data.msg
            }).then(() => {

            })
          }
        }, err => {
          Toast.fail("网络异常")
        })
      }
    })
  },

  /**
   * 修改用户名对话框
   * @param e
   */
  onNameShow: function (e) {
    this.setData({
      nameShow: true,
    })
  },

  /**
   * 实时获取昵称输入框
   * @param e
   */
  onNameInput: function (e) {
    this.setData({
      name: e.detail.value
    })
  },

  /**
   * 关闭对话框，弹出层
   * @param e
   */
  onClose: function (e) {
    this.setData({
      nameShow: false
    })
  },

  /**
   * 修改用户昵称
   * @param e
   */
  onAlterName: function (e) {
    const _this = this
    if (this.data.name == null) {
      Toast.fail("昵称不能为空")
    }else {
      this.data.name = this.data.name.replace(/^\s+|\s+$/g,"")
      if(this.data.name.length <= 0) {
        Toast.fail("昵称不能为空")
      }else {
        http.post("applet/user/update-name",{
          name: this.data.name
        }).then(res => {
          if (res.data.code === http.REQUEST_OK) {
            //更新成功，刷新数据
            app.getUserInfo(res => {
              _this.setData({
                userInfo: app.globalData.userInfo
              })
            })
          }else {
            Dialog.alert({
              title: "修改失败",
              message: res.data.msg
            }).then(() => {

            })
          }
        },err => {
          Toast.fail("网络异常")
        })
      }
    }
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})